Skip to content

Explicit support and testing against Python 3.13 and 3.14#228

Merged
asnare merged 19 commits intomainfrom
refresh
Mar 12, 2026
Merged

Explicit support and testing against Python 3.13 and 3.14#228
asnare merged 19 commits intomainfrom
refresh

Conversation

@asnare
Copy link
Contributor

@asnare asnare commented Mar 10, 2026

Changes

This PR updates the project to explicitly support and test against Python 3.13 and 3.14. Further to this, the project tooling has been refreshed somewhat.

Changes include:

  • Upgrading Hatch in CI/CD: 1.15.0 → 1.16.5 (earlier versions are broken due to pip changes).
  • Hatch now manages the python version instead of using the system-provided python version.
  • Mypy and Pylint have been updated, with code changes to satisfy the newer versions.
  • Pytest: 8.3 → 9.0 (and the plugins have been updated)
  • GitHub actions have also been updated.

We also now run integration tests even if the PR is a draft to help catch problems before marking it for review.

Tests

  • existing unit tests
  • existing integration tests

@asnare asnare self-assigned this Mar 10, 2026
@asnare asnare added enhancement New feature or request dependencies Pull requests that update a dependency file labels Mar 10, 2026
@asnare asnare added this to UCX Mar 10, 2026
@asnare asnare added the github_actions Pull requests that update GitHub Actions code label Mar 10, 2026
@asnare asnare temporarily deployed to account-admin March 10, 2026 19:00 — with GitHub Actions Inactive
@asnare asnare moved this to In Progress in UCX Mar 10, 2026
@github-actions
Copy link

github-actions bot commented Mar 10, 2026

✅ 40/40 passed, 6 skipped, 20m20s total

Running from acceptance #239

@asnare asnare marked this pull request as ready for review March 10, 2026 19:10
@asnare asnare requested a review from nfx as a code owner March 10, 2026 19:10
Draft PRs also trigger a run.
@asnare asnare temporarily deployed to account-admin March 10, 2026 19:12 — with GitHub Actions Inactive
@asnare asnare temporarily deployed to account-admin March 11, 2026 13:11 — with GitHub Actions Inactive
@asnare asnare merged commit 8a82a9d into main Mar 12, 2026
10 checks passed
@asnare asnare deleted the refresh branch March 12, 2026 08:54
@github-project-automation github-project-automation bot moved this from In Progress to Done in UCX Mar 12, 2026
gueniai added a commit that referenced this pull request Mar 23, 2026
* Explicit support and testing against Python 3.13 and 3.14 ([#228](#228)). The project's configuration and workflows have been updated to improve testing, dependency management, and support for the latest Python versions. Notably, the acceptance workflow now runs integration tests for draft pull requests, and the Hatch version has been upgraded to 1.16.5. The GitHub Actions workflow has been updated to use the latest versions of actions, including `actions/checkout@v6` and `actions/setup-python@v6`, and the Python version has been upgraded to 3.14. Environment variables `HATCH_VERBOSE` and `HATCH_VERSION` have been added, with `HATCH_VERBOSE` set to 2 and `HATCH_VERSION` set to 1.16.5. Additionally, the project's tooling has been refreshed, including upgrades to mypy, pylint, and pytest, and the configuration for running tests has been updated to include integration tests and matrix testing across multiple Python versions. Various code updates have also been made, including changes to type hints, the removal of unnecessary type parameters, and the addition of a `_not_none` function to handle potential `None` values. These changes aim to enhance the project's testing and setup process, ensure better support for the latest Python versions and tools, and improve code readability and maintainability.
* Fixed issue 216 - name is required in serving config ([#224](#224)). The library has been updated to improve consistency and compatibility with the API behavior. The `_make_workspace_client` function now expects the `scopes` parameter to be a string, specifically "all-apis", to match the `ClientCredentials` signature. Additionally, the `EndpointCoreConfigInput` requires a `name` parameter, and the `served_entities` parameter is used instead of the deprecated `served_models`. The `create` function has been updated to use these new inputs and outputs, creating an endpoint with the required `name` and updated `served_entities` configuration, and returning a `ServingEndpointDetailed` object with a `pending_config` that includes both `served_models` and `served_entities` for compatibility. Furthermore, several test functions have been modified to access the `entity_name` and `entity_version` attributes of the `served_entities` list, ensuring the tests remain valid and verify the correct behavior of the `make_serving_endpoint` function with the new configuration.
* [make_job] Allow passing serverless environments ([#227](#227)). The `make_job` function has been enhanced to provide users with more control over the execution environment of their tasks when using serverless compute. A new `environments` keyword argument has been introduced, allowing users to optionally pass a list of serverless environments, which is required for running Spark Python tasks and can override the notebook environment for Databricks Notebook tasks. This argument can be used in conjunction with other existing keyword arguments to create a job with a specific set of tasks and environments. The update enables users to specify serverless environments for their jobs, providing more flexibility and control over their compute resources, and includes backward compatibility with existing functionality, as demonstrated by updated test cases that verify the correct handling of the `environments` argument.
@gueniai gueniai mentioned this pull request Mar 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file enhancement New feature or request github_actions Pull requests that update GitHub Actions code

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants